<?php
include_once "filtro_cabecera.php";
include_once "../funciones/funciones_php.php";

conectar();
$orden_flete = $_SESSION['orden_flete_actual'];
echo $orden_flete;

$cantidad_cajas = $_SESSION['cajasleidas'];
$cantidad_valijas = $_SESSION['valijasleidas'];

$recargo_destino = $_REQUEST['recargo'];
$recargo = $recargo_destino / 100;

//Busca el destino de la orden de flete
$consulta = sprintf("SELECT destino.id_destino
                    FROM orden_flete,destino,comuna
                    WHERE orden_flete.id_orden_flete='%s'
                    AND orden_flete.id_comuna = comuna.id_comuna
                    AND destino.id_destino = comuna.id_destino",pg_escape_string($orden_flete));
$query = pg_query($consulta)or die("Error");
$dato = pg_fetch_array($query);
$destino = $dato['id_destino'];

$consulta2 = sprintf("SELECT id_tipo_envio FROM orden_flete WHERE id_orden_flete='%s'",pg_escape_string($orden_flete));
$query2 = pg_query($consulta2)or die("Error");
$dato2 = pg_fetch_array($query2);
$tipo_envio = $dato2['id_tipo_envio'];

$consulta3 = sprintf("SELECT tarifa_cliente.id_tarifa_cliente FROM tarifa_cliente,orden_flete,cliente
                      WHERE orden_flete.id_orden_flete = '%s'
                      AND orden_flete.id_cliente = cliente.id_cliente
                      AND cliente.id_tarifa_cliente = tarifa_cliente.id_tarifa_cliente",pg_escape_string($orden_flete));
$query3 = pg_query($consulta3)or die("Error");
$dato3 = pg_fetch_array($query3);
$id_tarifa_cliente = $dato3['id_tarifa_cliente'];

$consulta4 = sprintf("SELECT * FROM encomienda
                       WHERE id_orden_flete = '%s'",pg_escape_string($orden_flete));
$query4 = pg_query($consulta4)or die("Error");

while($reg = pg_fetch_array($query4))
{
    $tipo_encomienda = $reg['id_tipo_encomienda'];

    if($tipo_encomienda == 1)
    {
        $peso_caja_actual = $reg['peso'];
        echo $peso_caja_actual;
        $volumen_caja_actual = $reg['volumen'];
    }
    if($tipo_encomienda == 3)
    {
        $peso_valija_actual = $reg['peso'];
    }
}

if($peso_caja_actual == NULL)
{
    $peso_caja_actual = 0;
}
if($peso_valija_actual == NULL)
{
    $peso_valija_actual = 0;
}

echo $peso_caja_actual;



if($cantidad_sobres!=0)
{

    $consulta5 = sprintf("SELECT id_detalle_encomienda FROM detalle_encomienda,encomienda,orden_flete
                          WHERE detalle_encomienda.estado_finiquito = '%s'
                          AND detalle_encomienda.id_encomienda = encomienda.id_encomienda
                          AND encomienda.id_orden_flete = orden_flete.id_orden_flete
                          AND orden_flete.id_orden_flete = '%s'
                          AND encomienda.id_tipo_encomienda = '%s'",pg_escape_string('TRUE'),pg_escape_string($orden_flete),pg_escape_string(2));
    $query5 = pg_query($consulta5)or die("Error");
    $cantidad_sobres_actual = pg_num_rows($query5);

$cantidad_sobres = $_SESSION['sobresleidos'] + $cantidad_sobres_actual;
    $valor_sobre_s_recargo = calculaValorSobre($cantidad_sobres,$tipo_envio,$destino,$id_tarifa_cliente);
    $recargo_total_sobre = $valor_sobre_s_recargo * $recargo;
    $valor_sobre = $valor_sobre_s_recargo + $recargo_total_sobre;
}

if($cantidad_cajas!=0)
{

$peso_caja_nuevo = $_POST['peso_caja'];
$peso_caja = $peso_caja_nuevo + $peso_caja_actual;
$alto_caja = $_POST['alto_caja'];
$ancho_caja = $_POST['ancho_caja'];
$largo_caja = $_POST['largo_caja'];

$volumen_caja = $alto_caja * $ancho_caja * $largo_caja;
$volumen_caja_nuevo = $volumen_caja / 4000;
$volumen_caja_kilos = $volumen_caja_nuevo + $volumen_caja_actual;

$valor_caja_s_recargo = calculaValorCaja($volumen_caja_kilos,$peso_caja,$destino,$cantidad_cajas,$tipo_envio,$id_tarifa_cliente);
$recargo_total = $valor_caja_s_recargo * $recargo;
$valor_caja = $valor_caja_s_recargo + $recargo_total;


    $pg2 = sprintf("UPDATE encomienda SET peso='%f',volumen='%f'
                   WHERE id_orden_flete='$orden_flete' AND id_tipo_encomienda='1'",pg_escape_string($peso_caja),pg_escape_string($volumen_caja_kilos));
    pg_query($pg2) or
    die("Error".pg_error());
}

if($cantidad_valijas!=0)
{

$peso_valija_nuevo = $_POST['peso_valija'];
$peso_valija = $peso_valija_nuevo + $peso_valija_actual;

$valor_valija_s_recargo = calculaValorValija($peso_valija_nuevo,$destino,$cantidad_valijas,$tipo_envio,$id_tarifa_cliente);
$recargo_total_valija = $valor_valija_s_recargo * $recargo;
$valor_valija = $valor_valija_s_recargo + $recargo_total_valija;

    $pg2 = sprintf("UPDATE encomienda SET peso='%f'
                   WHERE id_orden_flete='$orden_flete' AND id_tipo_encomienda='3'",pg_escape_string($peso_valija));
    pg_query($pg2) or
    die("Error".pg_error());
}

if($cantidad_facturas!=0)
{
$consulta6 = sprintf("SELECT id_detalle_encomienda FROM detalle_encomienda,encomienda,orden_flete
                      WHERE detalle_encomienda.estado_finiquito = '%s'
                      AND detalle_encomienda.id_encomienda = encomienda.id_encomienda
                      AND encomienda.id_orden_flete = orden_flete.id_orden_flete
                      AND orden_flete.id_orden_flete = '%s'
                      AND encomienda.id_tipo_encomienda = '%s'",pg_escape_string('TRUE'),pg_escape_string($orden_flete),pg_escape_string(4));
$query6 = pg_query($consulta6)or die("Error");
$cantidad_facturas_actual = pg_num_rows($query6);

$cantidad_facturas = $_SESSION['facturasleidas'] + $cantidad_facturas_actual;

$valor_factura_s_recargo = calculaValorFactura($cantidad_facturas,$tipo_envio,$destino,$id_tarifa_cliente);
$recargo_total_factura = $valor_factura_s_recargo * $recargo;
$valor_factura = $valor_factura_s_recargo + $recargo_total_factura;
}

$valor_orden = $valor_sobre + $valor_caja + $valor_valija + $valor_factura;

    $up = sprintf("UPDATE orden_flete SET subtotal='%d',total='%d'
                   WHERE id_orden_flete='$orden_flete'",pg_escape_string($valor_orden),pg_escape_string($valor_orden));
    pg_query($up) or
    die("Error".pg_error());

    for($i=0;$i<=$_SESSION['auto_incrementable'];$i++)
    {
            $codigo_barra = $_SESSION['listado_codigos'][$i];

            $update_detalle = sprintf("UPDATE detalle_encomienda SET estado_finiquito='%s',fecha_finiquito=now()
                                     WHERE codigo_barra = '%s' AND estado_llegada = 'TRUE'",pg_escape_string('TRUE'),pg_escape_string($codigo_barra));
            pg_query($update_detalle) or
            die("Error en la consulta".pg_error());
    }

            if(($_SESSION['estado_orden'] == 2) || ($_SESSION['estado_orden'] == 7))
            {
                $conectar=sprintf("update orden_flete set id_estado_orden='%s'
                                   where id_orden_flete='$orden_flete'",pg_escape_string(8));
                pg_query($conectar) or
                die("Error en la consulta".pg_error());
            }

$conexion=sprintf("insert into orden_flete_estado_orden(id_orden_flete,id_estado_orden,fecha,id_observacion) VALUES ('%s','%s',now(),'%s')",pg_escape_string($orden_flete),pg_escape_string(8),pg_escape_string(1));
    pg_query($conexion) or
    die("Error en la consulta".pg_error());

//Borrar variables de sesion del proceso finiquito anterior
unset($_SESSION['auto_incrementable']);
unset($_SESSION['arreglo_codigos']);
unset($_SESSION['ordenflete']);
unset($_SESSION['cantidad_cajas']);
unset($_SESSION['cantidad_sobres']);
unset($_SESSION['cantidad_valijas']);
unset($_SESSION['cantidad_facturas']);
unset($_SESSION['arreglo_cajas']);
unset($_SESSION['arreglo_sobres']);
unset($_SESSION['arreglo_valijas']);
unset($_SESSION['arreglo_facturas']);
unset($_SESSION['cajasleidas']);
unset($_SESSION['sobresleidos']);
unset($_SESSION['valijasleidas']);
unset($_SESSION['facturasleidas']);
unset($_SESSION['cajas_leidas_anteriormente']);
unset($_SESSION['valijas_leidas_anteriormente']);
unset($_SESSION['sobres_leidos_anteriormente']);
unset($_SESSION['verificador']);
unset($_SESSION['verificador_valijas']);
unset($_SESSION['verificador_sobres']);
unset($_SESSION['estado_orden']);

echo "<script>alert('La orden de flete fue guardada con exito');</script>";
print "<meta http-equiv=Refresh content=\"0 ; url=finiquito.php\">";
?>